package com.inforich.app.api.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.inforich.projectManage.domain.ProjectRubbishDetail;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @description: some desc
 * @author: HJM
 * @date: 2022/10/29
 */
@Data
@EqualsAndHashCode()
public class ProjectRubbishExpandDTO {

  private String id;
  @NotBlank(message = "缺少项目信息")
  private String projectId;
  private String buildingPeriod;
  private Integer buildingType;
  private Integer structureType;

  private String buildingContent;
  private String buildingDept;
  private String buildingPerson;
  private String buildingPhone;

  private String constructionDept;
  private String constructionPerson;
  private String constructionPhone;

  private String supervisorDept;
  private String supervisorPerson;
  private String supervisorPhone;

  private Long disposalLandId;
  private String disposalLandPerson;
  private String disposalLandPhone;

  private String transportCompanyId;
  private String transportCompanyPerson;
  private String transportCompanyPhone;
  private String transportCompanyCarInfo;
  @Max(value = 1000000, message = "预计垃圾面积超过范围")
  private BigDecimal rubbishPlanArea;
  @Max(value = 1000000, message = "预计垃圾重量超过范围")
  private BigDecimal rubbishPlanWeight;
  private Date rubbishPlanTransportDate;
  @Max(value = 1000000, message = "可利用重量超过范围")
  private BigDecimal rubbishRecycleWeight;
  @Max(value = 100, message = "可利用比例不能超过100")
  private BigDecimal rubbishRecycleRatio;
  @Max(value = 1000000, message = "所有垃圾总量超过范围")
  private BigDecimal rubbishTotalWeight;
  @Max(value = 100, message = "所有垃圾占比不能超过100")
  private BigDecimal rubbishTotalRatio;

  private Date baseStageStartDate;
  private Date baseStageEndDate;
  private Date mainStageStartDate;
  private Date mainStageEndDate;
  private Date decorateStageStartDate;
  private Date decorateStageEndDate;
  private Date submitStageStartDate;
  private Date submitStageEndDate;

  private List<ProjectRubbishDetail> rubbishBaseList;
  private List<ProjectRubbishDetail> rubbishMainList;
  private List<ProjectRubbishDetail> rubbishDecorateList;
  private List<ProjectRubbishDetail> rubbishSubmitList;

  /**
   * 是否直接提交
   */
  private String isSubmit;
  private String projectImages;
  /**
   * 结构层次
   */
  private String structureLevel;
  /**
   * 项目类型1:新改扩 3:装修
   */
  private String projectType;
}
